-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zebrad 1.0.0-alpha.3 Release #1804
zebrad 1.0.0-alpha.3 Release #1804
Conversation
3790eb2
to
a1ad710
Compare
@dconnolly I can't remember what this means 😳 |
Aha, when this commit is merged, point the draft release, with our edited release notes pasted in, at the new commit, and mark as 'pre-release', not draft, anymore. |
Made edits to this PR and a new one to update the template with them |
Tested successfully on macOS, built v1.0.0-alpha.3, ran a good sync |
Initial Testing
cargo install
command inREADME.md
works (use--path
instead of--git
locally)Versioning
Which Crates to Increment
To check if any of the top-level crates need version increments, go to the zebra GitHub code page: https://github.com/ZcashFoundation/zebra
zebrad
crate version in thezebrad
app code andzebra-network
user agentREADME.md
How to Increment Versions
Zebra follows semantic versioning.
Semantic versions look like:
MAJOR
.MINOR
.PATCH[
-TAG
.PRE-RELEASE]
Pre-Release Crates
Pre-Release versions have a
TAG
like "alpha" or "beta".For example: "1.0.0-alpha.0"
PRE-RELEASE
version for the crate.Optionally, if a
MINOR
feature pre-release breaksMAJOR
API compatibility:2. Increment the
MAJOR
version, and reset all the other versions to zeroUnstable Crates
Unstable versions have a
MAJOR
version of zero.For example: "0.1.0"
MINOR
version for breaking changesStable Crates
For example: "1.0.0"
Increment the first version component in this list, and reset the other components to zero:
Version Locations
Once you know which versions you want to increment, you can find them in the:
Cargo.toml
sCargo.toml
szebrad
app code: https://github.com/ZcashFoundation/zebra/blob/main/zebrad/src/components/tracing/component.rszebra-network
protocol user agent: https://github.com/ZcashFoundation/zebra/blob/main/zebra-network/src/constants.rsREADME.md
Merge all these version increments as one commit, by squashing and rebasing the PR onto the main branch.
Version Tooling
You can use
fastmod
to interactively find and replace versions.For example, for
zebra-1.0.0-alpha-3
, we did:We skipped
tower-fallback
, because it hadn't changed since the last tag.Change Log
We follow the Keep a Changelog format.
We use the Release Drafter workflow to automatically create a draft changelog.
To create the final change log:
Change Categories
From "Keep a Changelog":
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.After merging this PR
Final Testing
cargo install
command works(
--git
behaves a bit differently to--path
)If the build fails after tagging:
README.md
with a new git tag